The present invention is directed to an improvement in computing systems and in particular to a computer system that provides improved application construction.
In computer systems, and in particular in object oriented computer systems, programmers and system users define applications using standard user interfaces. Users are provided with appropriate functions in the user interface to permit different applications to be constructed. When multiple applications being generated by a user are very similar to each other, or share common aspects, the user must replicate the work-flow followed in generating a first application in later application generation steps. This replication by the user is inefficient and also permits errors to be made when the user does not successfully replicate the first application.
In prior art systems, scripts or macros can be xe2x80x9crecordedxe2x80x9d and edited. In such systems the keystrokes and/or pointer commands of a user are captured in a data file for future use. The exact keystrokes may be replayed by invoking the appropriate script or macro name. In such systems it is also possible to edit such files to permit changes to be made to the sequence of keystrokes stored in the script or macro file.
Such systems typically work on a text or GUI-based level. In other words, the information which is stored is a representation of the input commands which the user generates for a particular interface for a particular sequence of commands or operations. A stored file is xe2x80x9creplayedxe2x80x9d to recreate the steps originally taken by the user, the file to be replayed takes the place of input from the keyboard or other input device of the user. The script or macro file in such a system is by definition closely tied to the specific system and the specific set of commands or operations which the user invokes.
Such systems are useful when a rote series of steps is to be retraced a number of times, or when a user is sophisticated enough to program directly in the script or macro language. Such systems do not, however, provide the user with a macro or script which is based on an object-oriented representation, rather than a text based representation, of the steps to be replicated. Such systems also do not typically provide a powerful mechanism for generalizing or customizing the macro or script file.
According to one aspect of the present invention, there is provided an improved system for generating applications.
According to another aspect of the present invention, there is provided a computer program product for generating user interfaces having a system user interface for accepting input from a user, the system user interface generating template data reflecting the work-flow defined by input from the user, a macro list generator for displaying a representation of the template data and for accepting input representing user preferences for interface customization based on the template data, the macro list generator generating macro list data reflecting the input representing user preferences for interface customization, a custom interface generator for presenting a customized interface to the user, the customized interface comprising prompts derived from the macro list data, the customized interface generator accepting input from the user in response to the customized interface prompts and further comprising an application generator for generating application data corresponding to the template data as modified to reflect responses of the user to the customized interface prompts.
According to another aspect of the present invention, there is provided a computer program product as described above in which the template data, the macro list data and the application data are in the form of XML-compliant code, the accepting input representing user preferences further comprises prompting for each element and attribute defined in the XML-compliant code of the template data.
According to another aspect of the present invention, there is provided a computer program product as described above further comprising prompts for user preferences for customization of the template data comprising a set of prompts selected from a master set of prompts comprising prompts for interface labels, interface descriptions, attribute default values, element default values, input field prefixes, input field suffixes, element repeatability, input field constraints, help text, interface new page control, and help file location.
According to another aspect of the present invention, there is provided a computer system comprising a graphical system user interface for accepting input from a user to create objects in an object-oriented computing environment, the system user interface generating a template file reflecting the work-flow defined by input from the user, a macro list generator for displaying a representation derived from the template file and for accepting input representing user preferences for interface customization based on the template file, the macro list generator generating a macro list file reflecting the input representing user preferences for interface customization, a custom interface generator for presenting a customized interface to the user, the customized interface comprising prompts derived from the macro list data, the customized interface generator accepting input from the user in response to the customized interface prompts and further comprising an application generator for generating an application file corresponding to the template file as modified to reflect responses of the user to the customized interface prompts.
According to another aspect of the present invention, there is provided a method for generating fastpath applications comprising the steps of:
1. accepting input from a user;
2. generating template data reflecting the work-flow defined by input from the user;
3. displaying a representation of the template data;
4. accepting input representing user preferences for interface customization based on the template data;
5. generating macro list data reflecting the input representing user preferences for interface customization;
6. presenting a customized interface to the user, the customized interface comprising prompts derived from the macro list data;
7. accepting input from the user in response to the customized interface prompts; and
8. generating application data corresponding to the template data as modified to reflect responses of the user to the customized interface prompts.
According to another aspect of the present invention, there is provided a method for generating fastpath applications comprising the steps of:
1. accepting input from a user to create objects in an object-oriented computing environment;
2. generating a template file reflecting the work-flow defined by input from the user;
3. displaying a representation derived from the template file;
4. accepting input representing user preferences for interface customization based on the template file;
5. generating a macro list file reflecting the input representing user preferences for interface customization;
6. presenting a customized interface to the user, the customized interface comprising prompts derived from the macro list data, the customized interface generator accepting input from the user in response to the customized interface prompts; and
7. generating a application file corresponding to the template file as modified to reflect responses of the user to the customized interface prompts.
According to another aspect of the present invention, there is provided an article of manufacture including a computer usable medium having computer readable program code embodied therein, the computer readable program code in the article of manufacture including computer readable program code for causing a computer to carry out the steps in the methods set out above.
According to another aspect of the present invention, there is provided a computer program product for use with an object-oriented computer system, the computer program product including a computer usable medium having computer readable program code embodied in the medium for automatic application generation, the computer program product including:
computer readable program code for causing a computer to accept input from a user, computer readable program code for causing a computer to generate template data reflecting the work-flow defined by input from the user, computer readable program code for causing a computer to display a representation of the template data, computer readable program code for causing a computer to accept input representing user preferences for interface customization based on the template data, computer readable program code for causing a computer to generate macro list data reflect the input representing user preferences for interface customization, computer readable program code for causing a computer to present a customized interface to the user, the customized interface comprising prompts derived from the macro list data, computer readable program code for causing a computer to accept input from the user in response to the customized interface prompts and computer readable program code for causing a computer to generate application data corresponding to the template data as modified to reflect responses of the user to the customized interface prompts.
According to another aspect of the present invention, there is provided a computer program product for use with an object-oriented computer system, the computer program product comprising, a computer usable medium having computer readable program code embodied in the medium for automatic application generation, the computer program product comprising computer readable program code for causing a computer to accept input from a user to create objects in an object-oriented computing environment, computer readable program code for causing a computer to generate a template file reflecting the work-flow defined by input from the user, computer readable program code for causing a computer to display a representation derived from the template file, computer readable program code for causing a computer to accept input representing user preferences for interface customization based on the template file, computer readable program code for causing a computer to generate a macro list file reflecting the input representing user preferences for interface customization, computer readable program code for causing a computer to present a customized interface to the user, the customized interface comprising prompts derived from the macro list data, and accepting input from the use in response to the customized interface prompts and computer readable program code for causing a computer to generate an application file corresponding to the template file as modified to reflect responses of the user to the customized interface prompts.
Advantages of the present invention include the ability to define a template which is customizable to generate applications without requiring users to retrace all steps in the application-generation path. The natural work-flow of the user is captured by the template file and this work-flow representation is then used to permit other applications to be quickly defined by the user. The user may effectively create customized user interfaces based on the template file to permit the creation of modified applications based on the template file.